package com.BD;	

import java.util.ArrayList;

import com.Reporte_MasVendidos.Registro_MasVendidos;

import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.util.Log;
import android.widget.Toast;


public class BD_RM extends SQLiteOpenHelper {
	
	private static final int DATABASE_VERSION = 1;	 
    // Database Name
    private static final String DATABASE_NAME = "DB_MV_v1"; 
    //NOMBRE DE LAS TABLAS
 
    private static final String TABLA_MASVENDIDOS = "Tabla_MasVendidos";
    
    private static final String KEY_nomEvento = "nomEvento";
    private static final String KEY_ubicacion = "ubicacion";
    private static final String KEY_cantidad = "cantidad";

    
    
	public BD_RM(Context context) {
        super(context, DATABASE_NAME, null, DATABASE_VERSION);
    }

	@Override
	public void onCreate(SQLiteDatabase db) {
		
        String CREATE_TABLA_RE2 = "CREATE TABLE " + TABLA_MASVENDIDOS + "("
    			+ KEY_nomEvento + " TEXT,"
    			+ KEY_ubicacion  + " TEXT,"
    			+ KEY_cantidad  + " INTEGER"
    			+ ")";
        db.execSQL(CREATE_TABLA_RE2);
       
    }
	
	@Override
	public void onUpgrade(SQLiteDatabase arg0, int arg1, int arg2) {

		
	}
	
		
	public void addRegistroVentas(Registro_MasVendidos regVentas){
		try{
		SQLiteDatabase db = this.getWritableDatabase(); 
        ContentValues values = new ContentValues();
        values.put(KEY_nomEvento , regVentas.getNomEvento()); 
        values.put(KEY_ubicacion  , regVentas.getUbicacion()); 
        values.put(KEY_cantidad , regVentas.getCantidad());
        
        // Inserting Row
        db.insert(TABLA_MASVENDIDOS, null, values);
        db.close(); // Closing database connection
		}catch(Exception e){
			e.printStackTrace();
			//Log.e(tag, msg)
		}
    }
	
	
	public void borraTablaVentas() {
		SQLiteDatabase db = this.getWritableDatabase();
		db.delete(TABLA_MASVENDIDOS, null, null);		
		//db.close();
	}

	
	
	public ArrayList<Registro_MasVendidos> getVentas (String strLima, String strProvincias, String strRanking, int flagCantidad){

		ArrayList<Registro_MasVendidos> listaMasVendidos = new ArrayList<Registro_MasVendidos>();		
		SQLiteDatabase db = this.getReadableDatabase();
		    
		String query="SELECT nomEvento, ubicacion, cantidad " + " FROM " + TABLA_MASVENDIDOS + " ";		    		    
		
		if (strLima.equals("Lima")&&strProvincias.equals("Provincias"))
			query+=" WHERE (ubicacion = \"" + strProvincias + "\" or ubicacion = \"" + strLima +"\") ";
		else{
			if (strLima.equals("Lima")){
				query+=" WHERE ubicacion = \"" + strLima + "\" ";
			}
			if (strProvincias.equals("Provincias")){
				query+=" WHERE ubicacion = \"" + strProvincias + "\" ";
			}
		}
		
		
		if (strRanking.equals("Top")||strRanking.equals(""))
			query+=" ORDER BY cantidad DESC ";
		if (strRanking.equals("Bottom"))
			query+=" ORDER BY cantidad ASC ";
		
		
		if(flagCantidad==3)
			query+=" LIMIT " + 3 + " ";
		if(flagCantidad==5)
			query+=" LIMIT "  + 5 + " ";
		if(flagCantidad==10)
			query+=" LIMIT "  + 10 + " ";
		
				
		Cursor cursor = db.rawQuery(query, null);
		
		if (cursor!=null){		
			if (cursor.moveToFirst()) {
				do {
					Registro_MasVendidos reg = new Registro_MasVendidos();
	            
					reg.setNomEvento(cursor.getString(0));
					reg.setUbicacion(cursor.getString(1));
					reg.setCantidad(cursor.getInt(2));					
				
					// 	Adding contact to list
					listaMasVendidos.add(reg);
				} while (cursor.moveToNext());
			}else
				return null;
		}else			
			return null;
		
		cursor.close();
		db.close();
		return listaMasVendidos;
	}

}